import Config from '@/utils/config'
// import JSEncrypt from 'jsencrypt'
const app_type:string ='h5';
const app_type_name:string ='H5';

// // #ifdef H5
// const app_type:string ='h5';
// const app_type_name:string ='H5';
// // #endif

// // #ifdef MP-WEIXIN
// const app_type:string = 'weapp';
// const app_type_name:string = '微信小程序';
// // #endif

// // #ifdef MP-ALIPAY
// const app_type:string = 'aliapp';
// const app_type_name:string = '支付宝小程序';
// // #endif

// // #ifdef MP-BAIDU
// const app_type:string = 'baiduapp';
// const app_type_name:string = '百度小程序';
// // #endif

// // #ifdef MP-TOUTIAO
// const app_type:string = 'MP-TOUTIAO';
// const app_type_name:string = '头条小程序';
// // #endif

// // #ifdef MP-QQ
// const app_type:string = 'MP-QQ';
// const app_type_name:string = 'QQ小程序';
// // #endif

// // #ifdef APP-PLUS
// const app_type:string = 'app';
// const app_type_name:string = 'APP';
// // #endif
export function request(url:string, params:any) {
	let data = {
		app_type,
		app_type_name,
		...params
	}
	// 请求参数加密
	// if (Config.apiSecurity) {
	// 	let jsencrypt = new JSEncrypt();
	// 	jsencrypt.setPublicKey(Config.publicKey);
	// 	let encrypt = encodeURIComponent(jsencrypt.encryptLong(JSON.stringify(data)));
	// 	data = {
	// 		encrypt,
	// 		app_type,
	// 		app_type_name
	// 	};
	// }
	let token = uni.getStorageSync('token');
	let tag = uni.getStorageSync('shoptag');
	if (token) {
		data.token = token;
	}
	if (tag) {
		data.tag = tag;
	}
	return new Promise((resolve, reject) => {
		uni.request({
			url: Config.baseUrl + url,
			method: params ? 'POST' : 'GET',
			data: data,
			header: {
				'content-type': 'application/x-www-form-urlencoded;application/json'
			},
			dataType: 'json',
			responseType: 'text',
			success: (res:any) => {
				if (res.data.code == -999 && res.data.error_code == 'TOKEN_ERROR') {
					uni.removeStorageSync('token');
				}
				if (res.data.code == -998 && (uni.getStorageSync('token') || uni.getStorageSync('qmtoken'))) {
					console.log('APItokenDelete=>' + uni.getStorageSync('token'));
					uni.removeStorageSync('token');
					location.reload();
				}
				resolve(res);
			},
			fail: (res:any) => {
				reject(res);
			},
			complete: (res:any) => {
				reject(res);
			}
		});
	});
}
